﻿/**
 * Peter
 * Created by: Peter Development Team
 *    http://peter.codeplex.com/
 * 
 * GNU General Public License version 2 (GPLv2)
 *    http://peter.codeplex.com/license
 **/

using System.Windows;

namespace Peter.Common.Services
{
    /// <summary>
    /// Interface for a message box service.
    /// </summary>
    public interface IMessageBoxService
    {
        /// <summary>
        /// Shows a dialog asking the user to answer yes or no.
        /// </summary>
        /// <param name="message">Message to put in dialog.</param>
        /// <param name="caption">Caption for dialog, default is 'Yes or No?'</param>
        /// <returns>True if the user pressed yes, False if no was pressed.</returns>
        bool ShowYesNo(string message, string caption = "Yes or No?");

        /// <summary>
        /// Shows an error dialog.
        /// </summary>
        /// <param name="message">Message to put in dialog.</param>
        /// <param name="caption">Caption for dialog, default is 'Error'</param>
        void ShowError(string message, string caption = "Error");

        /// <summary>
        /// Shows a dialog asking the user to answer yes, no or cancel.
        /// </summary>
        /// <param name="message">Message to put in dialog.</param>
        /// <param name="caption">Caption for dialog, default is 'Yes or No?'</param>
        /// <returns>MessageBoxResult enum, for yes,no or cancel options.</returns>
        MessageBoxResult ShowYesNoCancel(string message, string caption = "Yes, No or Cancel?");
    }
}
